package com.zimmur.dao.account;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zimmur.model.account.CouponDetail;

public interface ICouponDetailDao {

	/**
	 * 通过手机号查询可用的代金券
	 * @param mobileNo
	 * @param time 有效期时间
	 * @param mininum 筛选金额
	 * @param useByPercent 是否适用商品折扣 0=不限制 1=不适用
	 * @param useByGoods 适用商品 0=不限制 1=适用现货 2=适应预售
	 * @return
	 */
	List<CouponDetail> selectCouponByMobileNo(@Param("mobileNo")String mobileNo,@Param("time")int time,
			@Param("mininum")int mininum,@Param("useByPercent") Integer useByPercent,
			@Param("useByGoods") Integer useByGoods);
	/**
	* <p>Title: selectAllCouponByMobileNo</p>
	* <p>Description: 通过手机号查询所有的优惠券</p>
	* @param mobileNo
	* @param time
	* @param mininum
	* @return
	 */
	List<CouponDetail> selectAllCouponByMobileNo(@Param("mobileNo")String mobileNo);
	/**
	 * 根据订单信息更新代金券
	 * @param couponDetail
	 * @return
	 */
	int updateByPrimaryKeySelective(CouponDetail couponDetail);
	/**
	 * 根据主键查询
	 * @param couponId
	 * @return
	 */
	CouponDetail selectCouponByCouponId(Integer couponId);
	/**
	 * 添加一张优惠券
	 * @param couponDetail
	 * @return
	 */
	int addCouponDetail(CouponDetail couponDetail);
	/**
	 * 添加多张优惠券
	 * @param couponDetailList
	 * @return
	 */
	int addCouponDetailList(@Param("couponDetailList")List<CouponDetail> couponDetailList);
	/**
	 * 查询订单使用的优惠券	
	 * @param orderId
	 * @return
	 */
	List<CouponDetail> selectCouponByOrderId(Long orderId);
	/**
	* <p>Title: selectValidCoupon</p>
	* <p>Description: 根据优惠券id、手机号码，订单金额查询有效的优惠券</p>
	* @param couponId
	* @param mobileNo
	* @param orderJe
	* @return
	*/
	CouponDetail selectValidCoupon(@Param("couponCode")String couponCode,@Param("mobileNo") String mobileNo);
}
